package com.zy.design.ext;

import com.zy.design.ext.service.EggLayAble;
import com.zy.design.ext.service.imp.EggLayAbility;

/**
 * @author zhaoyi
 * @date 2021/2/5 11:36
 * 鸵鸟 会下蛋 不会飞
 * 当继承关系非常复杂时使用 接口 委托 组合 方式 更加清晰
 * 但是当继承结构简单不易变化时 继承更简洁
 * 这个例子其实相当结构少
 */
public class Ostrich implements EggLayAble {

    //组合
    private EggLayAble eggLayAble = new EggLayAbility();

    @Override
    public void layEgg() {
        //委托
        eggLayAble.layEgg();
    }
}
